<!DOCTYPE html>
<html lang="zh-Hans">
<head>

    <!--[if lt IE 9]>
        <style>body {display: none; background: none !important} </style>
        <meta http-equiv="Refresh" Content="0; url=//outdatedbrowser.com/" />
    <![endif]-->

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="format-detection" content="telephone=no" />
<meta name="author" content="Bingo" />



<meta name="description" content="linux的常用命令练习笔记">
<meta property="og:type" content="article">
<meta property="og:title" content="linux学习笔记">
<meta property="og:url" content="http://blog.acbingo.cn/2015/08/25/linux学习笔记/index.html">
<meta property="og:site_name" content="Bingo's Blog">
<meta property="og:description" content="linux的常用命令练习笔记">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linux35.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linux226.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linux37.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linux38.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linux52.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linux52.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linuxcommand/which2.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linuxcommand/which3.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linuxcommand/which4.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/linuxcommand/which5.png">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485012419">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485465186">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485513603">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485577965">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485634144">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485682625">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485725524">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485834752">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485908149">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486194690">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486436814">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486477811">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486635856">
<meta property="og:image" content="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486674638">
<meta property="og:updated_time" content="2015-11-28T08:46:21.655Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="linux学习笔记">
<meta name="twitter:description" content="linux的常用命令练习笔记">
<meta name="twitter:image" content="https://dn-anything-about-doc.qbox.me/linux35.png">

<link rel="apple-touch-icon" href= "/apple-touch-icon.png">


    <link rel="alternate" href="/atom.xml" title="Bingo&#39;s Blog" type="application/atom+xml">



    <link rel="shortcut icon" href="/favicon.png">





    <link href="//cdn.bootcss.com/fancybox/2.1.5/jquery.fancybox.min.css" rel="stylesheet">



    <script src="//cdn.bootcss.com/pace/1.0.2/pace.min.js"></script>
    <link href="//cdn.bootcss.com/pace/1.0.2/themes/blue/pace-theme-minimal.css" rel="stylesheet">


<link rel="stylesheet" href="/css/style.css">



<link href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">


<title>linux学习笔记 | Bingo&#39;s Blog</title>

<script src="//cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>
<script src="//cdn.bootcss.com/clipboard.js/1.5.10/clipboard.min.js"></script>

<script>
    var yiliaConfig = {
        fancybox: true,
        animate: false,
        isHome: false,
        isPost: true,
        isArchive: false,
        isTag: false,
        isCategory: false,
        fancybox_js: "//cdn.bootcss.com/fancybox/2.1.5/jquery.fancybox.min.js",
        scrollreveal: "//cdn.bootcss.com/scrollReveal.js/3.1.4/scrollreveal.min.js",
        search: true
    }
</script>


    <script> yiliaConfig.jquery_ui = [false]; </script>



    <script> yiliaConfig.rootUrl = "\/";</script>






</head>
<body>
  <div id="container">
    <div class="left-col">
    <div class="overlay"></div>
<div class="intrude-less">
    <header id="header" class="inner">
        <a href="/" class="profilepic">
            <img src="/img/avatar.png" class="animated zoomIn">
        </a>
        <hgroup>
          <h1 class="header-author"><a href="/">Bingo</a></h1>
        </hgroup>

        
        <p class="header-subtitle">Here&#39;s My Second Brains</p>
        

        
            <form id="search-form">
            <input type="text" id="local-search-input" name="q" placeholder="search..." class="search form-control" autocomplete="off" autocorrect="off" searchonload="false" />
            <i class="fa fa-times" onclick="resetSearch()"></i>
            </form>
            <div id="local-search-result"></div>
            <p class='no-result'>No results found <i class='fa fa-spinner fa-pulse'></i></p>
        


        
            <div id="switch-btn" class="switch-btn">
                <div class="icon">
                    <div class="icon-ctn">
                        <div class="icon-wrap icon-house" data-idx="0">
                            <div class="birdhouse"></div>
                            <div class="birdhouse_holes"></div>
                        </div>
                        <div class="icon-wrap icon-ribbon hide" data-idx="1">
                            <div class="ribbon"></div>
                        </div>
                        
                        <div class="icon-wrap icon-link hide" data-idx="2">
                            <div class="loopback_l"></div>
                            <div class="loopback_r"></div>
                        </div>
                        
                        
                        <div class="icon-wrap icon-me hide" data-idx="3">
                            <div class="user"></div>
                            <div class="shoulder"></div>
                        </div>
                        
                    </div>
                    
                </div>
                <div class="tips-box hide">
                    <div class="tips-arrow"></div>
                    <ul class="tips-inner">
                        <li>菜单</li>
                        <li>标签</li>
                        
                        <li>友情链接</li>
                        
                        
                        <li>关于我</li>
                        
                    </ul>
                </div>
            </div>
        

        <div id="switch-area" class="switch-area">
            <div class="switch-wrap">
                <section class="switch-part switch-part1">
                    <nav class="header-menu">
                        <ul>
                        
                            <li><a href="/">主页</a></li>
                        
                            <li><a href="/archives/">所有文章</a></li>
                        
                            <li><a href="/tags/">标签云</a></li>
                        
                            <li><a href="http://acbingo.cn/">关于我</a></li>
                        
                        </ul>
                    </nav>
                    <nav class="header-nav">
                        <ul class="social">
                            
                                <a class="fa Email" href="/&#116;&#x66;&#117;&#116;&#121;&#x40;&#x71;&#113;&#46;&#99;&#111;&#109;" title="Email"></a>
                            
                                <a class="fa GitHub" href="https://github.com/ACBingo" title="GitHub"></a>
                            
                                <a class="fa 知乎" href="https://www.zhihu.com/people/li-bing-59-10" title="知乎"></a>
                            
                                <a class="fa StackOverflow" href="http://stackoverflow.com/users/6059386/acbingo" title="StackOverflow"></a>
                            
                        </ul>
                    </nav>
                </section>
                
                
                <section class="switch-part switch-part2">
                    <div class="widget tagcloud" id="js-tagcloud">
                        <ul class="tag-list"><li class="tag-list-item"><a class="tag-list-link" href="/tags/Android/">Android</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Array/">Array</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Hash-Table/">Hash Table</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/KMP/">KMP</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/LeetCode/">LeetCode</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Linked-List/">Linked List</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Math/">Math</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/STL/">STL</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/String/">String</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/android/">android</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/anroid/">anroid</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/books/">books</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/c/">c#</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/c/">c++</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/cocos/">cocos</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/cocos2dx/">cocos2dx</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/const/">const</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/coursera/">coursera</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/git/">git</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/github/">github</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hash/">hash</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hdu/">hdu</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hexo/">hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/linux/">linux</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/markdown/">markdown</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/offer/">offer</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/other/">other</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/poj/">poj</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/shadowsocks/">shadowsocks</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/string/">string</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ubuntu/">ubuntu</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/uva/">uva</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/vim/">vim</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/二分/">二分</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/二叉树/">二叉树</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/位运算/">位运算</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/其它/">其它</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/分治/">分治</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/动态规划/">动态规划</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/单调队列/">单调队列</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/回溯/">回溯</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/字符串/">字符串</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/字符串匹配/">字符串匹配</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/指针/">指针</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/排序/">排序</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/操作系统/">操作系统</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/数据结构/">数据结构</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/枚举/">枚举</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/树/">树</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/算法/">算法</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/红黑树/">红黑树</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/线段树/">线段树</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/继承/">继承</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/编译原理/">编译原理</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/虚函数/">虚函数</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/逆序对/">逆序对</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/递归/">递归</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/链表/">链表</a></li></ul>
                    </div>
                </section>
                
                
                
                <section class="switch-part switch-part3">
                    <div id="js-friends">
                    
                      <a class="main-nav-link switch-friends-link" href="https://hexo.io">Hexo</a>
                    
                      <a class="main-nav-link switch-friends-link" href="https://pages.github.com/">GitHub</a>
                    
                      <a class="main-nav-link switch-friends-link" href="http://moxfive.xyz/">MOxFIVE</a>
                    
                    </div>
                </section>
                

                
                
                <section class="switch-part switch-part4">
                
                    <div id="js-aboutme">专注于前端</div>
                </section>
                
            </div>
        </div>
    </header>                
</div>
    </div>
    <div class="mid-col">
      <nav id="mobile-nav">
      <div class="overlay">
          <div class="slider-trigger"></div>
          <h1 class="header-author js-mobile-header hide"><a href="/" title="回到主页">Bingo</a></h1>
      </div>
    <div class="intrude-less">
        <header id="header" class="inner">
            <a href="/" class="profilepic">
                <img src="/img/avatar.png" class="animated zoomIn">
            </a>
            <hgroup>
              <h1 class="header-author"><a href="/" title="回到主页">Bingo</a></h1>
            </hgroup>
            
            <p class="header-subtitle">Here&#39;s My Second Brains</p>
            
            <nav class="header-menu">
                <ul>
                
                    <li><a href="/">主页</a></li>
                
                    <li><a href="/archives/">所有文章</a></li>
                
                    <li><a href="/tags/">标签云</a></li>
                
                    <li><a href="http://acbingo.cn/">关于我</a></li>
                
                <div class="clearfix"></div>
                </ul>
            </nav>
            <nav class="header-nav">
                        <ul class="social">
                            
                                <a class="fa Email" target="_blank" href="/&#116;&#x66;&#117;&#116;&#121;&#x40;&#x71;&#113;&#46;&#99;&#111;&#109;" title="Email"></a>
                            
                                <a class="fa GitHub" target="_blank" href="https://github.com/ACBingo" title="GitHub"></a>
                            
                                <a class="fa 知乎" target="_blank" href="https://www.zhihu.com/people/li-bing-59-10" title="知乎"></a>
                            
                                <a class="fa StackOverflow" target="_blank" href="http://stackoverflow.com/users/6059386/acbingo" title="StackOverflow"></a>
                            
                        </ul>
            </nav>
        </header>                
    </div>
    <link class="menu-list" tags="标签" friends="友情链接" about="关于我"/>
</nav>
      <div class="body-wrap"><article id="post-linux学习笔记" class="article article-type-post" itemscope itemprop="blogPost">
  
    <div class="article-meta">
      <a href="/2015/08/25/linux学习笔记/" class="article-date">
      <time datetime="2015-08-25T14:25:34.000Z" itemprop="datePublished">2015-08-25</time>
</a>


    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      linux学习笔记
    </h1>
  

      </header>
      
      <div class="article-info article-info-post">
        

        
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/linux/">linux</a></li></ul>
    </div>

        <div class="clearfix"></div>
      </div>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
        <h1 id="mkdir命令"><a href="#mkdir命令" class="headerlink" title="mkdir命令"></a>mkdir命令</h1><hr>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir [选项]目录</div></pre></td></tr></table></figure>
<table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-m –mode=模式</td>
<td style="text-align:center">设定权限&lt;模式&gt;</td>
</tr>
<tr>
<td>-p –parents</td>
<td style="text-align:center">可以是一个路径名称。若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录</td>
</tr>
<tr>
<td>-v –verbose</td>
<td style="text-align:center">每次创建新目录都显示信息</td>
</tr>
</tbody>
</table>
<a id="more"></a>
<h1 id="rm命令"><a href="#rm命令" class="headerlink" title="rm命令"></a>rm命令</h1><hr>
<table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-f –force</td>
<td style="text-align:center">忽略不存在的文件，从不给出提示</td>
</tr>
<tr>
<td>-i –interactive</td>
<td style="text-align:center">进行交互式删除</td>
</tr>
<tr>
<td>-r –recursive</td>
<td style="text-align:center">指示 rm 将参数中列出的全部目录和子目录均递归地删除</td>
</tr>
<tr>
<td>-v –verbose</td>
<td style="text-align:center">详细显示进行的步骤</td>
</tr>
</tbody>
</table>
<h2 id="思考"><a href="#思考" class="headerlink" title="思考"></a>思考</h2><p>思考一下下面命令有什么作用<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">myrm()&#123; D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv &quot;$@&quot; $D &amp;&amp; echo &quot;moved to $D ok&quot;; &#125;</div></pre></td></tr></table></figure></p>
<h1 id="mv命令"><a href="#mv命令" class="headerlink" title="mv命令"></a>mv命令</h1><hr>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mv [选项] 源文件或目录 目标文件或目录</div></pre></td></tr></table></figure>
<table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">概述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-b –back</td>
<td style="text-align:center">若需覆盖文件，则覆盖前先行备份</td>
</tr>
<tr>
<td>-f –force</td>
<td style="text-align:center">如果目标文件已经存在，不会询问而直接覆盖</td>
</tr>
<tr>
<td>-i –interactive</td>
<td style="text-align:center">若目标文件已经存在时，就会询问是否覆盖</td>
</tr>
<tr>
<td>-u –update</td>
<td style="text-align:center">若目标文件已经存在，且源文件比较新，才会更新</td>
</tr>
<tr>
<td>-t –target</td>
<td style="text-align:center">该选项适用于移动多个源文件到一个目录的情况，此时目标目录在前，源文件在后</td>
</tr>
</tbody>
</table>
<ol>
<li><p>将文件 shiyanlou.log 重命名为 zhou.log，可以使用如下命令：</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mv   shiyanlou.log   zhou.log</div></pre></td></tr></table></figure>
</li>
<li><p>将文件 zhou.log 移动到 test 目录下(test 目录必须已经存在，否则执行重命名)，可以使用如下命令</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mv  zhou.log  test</div></pre></td></tr></table></figure>
</li>
<li><p>将文件 a.txt 移动到 test1 目录下，如果文件存在，覆盖前会询问是否覆盖，可以使用如下命令：</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mv  -i  a.txt  test1</div></pre></td></tr></table></figure>
</li>
</ol>
<h1 id="cp命令"><a href="#cp命令" class="headerlink" title="cp命令"></a>cp命令</h1><hr>
<p>cp 命令用来复制文件或者目录，是 Linux 系统中最常用的命令之一。一般情况下，shell 会设置一个别名，在命令行下复制文件时，如果目标文件已经存在，就会询问是否覆盖，不管你是否使用-i 参数。但是如果是在 shell 脚本中执行 cp 时，没有-i 参数时不会询问是否覆盖。这说明命令行和 shell 脚本的执行方式有些不同。 cp 命令是 copy 的缩写。<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">cp [选项] 源文件 目录 cp [选项] -t 目录 源文件</div></pre></td></tr></table></figure></p>
<table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-t –target-directory</td>
<td style="text-align:center">指定目标目录</td>
</tr>
<tr>
<td>-i –interactive</td>
<td style="text-align:center">覆盖前询问(使前面的 -n 选项失效)</td>
</tr>
<tr>
<td>-n –no-clobber</td>
<td style="text-align:center">不要覆盖已存在的文件(使前面的 -i 选项失效)</td>
</tr>
<tr>
<td>-s –symbolic-link</td>
<td style="text-align:center">对源文件建立符号链接，而非复制文件</td>
</tr>
<tr>
<td>-f –force</td>
<td style="text-align:center">强行复制文件或目录， 不论目的文件或目录是否已经存在</td>
</tr>
<tr>
<td>-u –update</td>
<td style="text-align:center">使用这项参数之后，只会在源文件的修改时间较目的文件更新时，或是对应的目的文件并不存在，才复制文件</td>
</tr>
</tbody>
</table>
<p> 例一：对文件 shiyanlou.log 建立一个符号链接 zhou.log，可以使用如下命令：</p>
<pre><code>cp   -s   shiyanlou.log   zhou.log
</code></pre><p>例二：将 test1 目录下的所有文件复制到 test2 目录下，覆盖前询问，可以使用如下命令：</p>
<pre><code>cp  -i  test1/*  test2
</code></pre><p>例三：将 test1 目录下的最近更新的文件复制到 test2 目录下，覆盖前询问，可以使用如下命令：</p>
<pre><code>cp  -iu  test1/*  test2
</code></pre><h1 id="cat-命令"><a href="#cat-命令" class="headerlink" title="cat 命令"></a>cat 命令</h1><p>cat 命令的功能是将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容，或者将几个文件连接起来显示，或者从标准输入读取内容并显示，它常与重定向符号配合使用。 cat 命令是 concatenate 的缩写。</p>
<p>命令格式：</p>
<pre><code>cat [选项] [文件]
</code></pre><p>常用参数：</p>
<table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-A –show-all</td>
<td style="text-align:center">等价于 -vET</td>
</tr>
<tr>
<td>-b –number-nonblank</td>
<td style="text-align:center">对非空输出行编号</td>
</tr>
<tr>
<td>-e</td>
<td style="text-align:center">等价于 -vE</td>
</tr>
<tr>
<td>-E –show-ends</td>
<td style="text-align:center">在每行结束处显示 $</td>
</tr>
<tr>
<td>-n –number</td>
<td style="text-align:center">对输出的所有行编号,由 1 开始对所有输出的行数编号</td>
</tr>
<tr>
<td>-s –squeeze-blank</td>
<td style="text-align:center">有连续两行以上的空白行，就代换为一行的空白行</td>
</tr>
<tr>
<td>-t</td>
<td style="text-align:center">与 -vT 等价</td>
</tr>
<tr>
<td>-T –show-tabs</td>
<td style="text-align:center">将跳格字符显示为 ^I</td>
</tr>
<tr>
<td>-u</td>
<td style="text-align:center">(被忽略)</td>
</tr>
<tr>
<td>-v –show-nonprinting</td>
<td style="text-align:center">使用 ^ 和 M- 引用，除了 LFD 和 TAB 之外</td>
</tr>
</tbody>
</table>
<p>常用范例：</p>
<p>例一：把 shiyanlou.log 的文件内容加上行号后输入 zhou.log 这个文件里，可以使用如下命令：</p>
<pre><code>cat -n shiyanlou.log &gt; zhou.log
</code></pre><p>例二：把 shiyanlou.log 的文件内容加上行号后输入 zhou.log 这个文件里，多行空行换成一行输出，可以使用如下命令：</p>
<pre><code>cat -ns shiyanlou.log &gt; zhou.log
</code></pre><p>例三：将 zhou.log 的文件内容反向显示，可以使用如下命令：</p>
<pre><code>tac  zhou.log
</code></pre><p>说明：tac 是将 cat 反写过来，所以它的功能就跟 cat 相反，cat 是由第一行到最后一行连续显示在屏幕上，而 tac 则是由最后一行到第一行反向在屏幕上显示出来。</p>
<h1 id="nl-命令"><a href="#nl-命令" class="headerlink" title="nl 命令"></a>nl 命令</h1><p>nl 命令在 linux 系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号。其默认的结果与 cat -n 有点不太一样， nl 可以将行号做比较多的显示设计，包括位数与是否自动补齐 0 等等的功能。<br>nl 命令是 number of lines 的缩写。</p>
<h2 id="命令格式："><a href="#命令格式：" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>nl [选项] [文件]
</code></pre><h2 id="常用参数："><a href="#常用参数：" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-b</td>
<td>指定行号指定的方式，主要有两种：</td>
</tr>
<tr>
<td>-b a</td>
<td>表示不论是否为空行，也同样列出行号(类似 cat -n)</td>
</tr>
<tr>
<td>-b t</td>
<td>如果有空行，空的那一行不要列出行号(默认值)</td>
</tr>
<tr>
<td>-n</td>
<td>列出行号表示的方法，主要有三种：</td>
</tr>
<tr>
<td>-n ln</td>
<td>行号在屏幕的最左方显示</td>
</tr>
<tr>
<td>-n rn</td>
<td>行号在自己栏位的最右方显示，且不加 0</td>
</tr>
<tr>
<td>-n rz</td>
<td>行号在自己栏位的最右方显示，且加 0</td>
</tr>
<tr>
<td>-w</td>
<td>行号栏位的占用的位数</td>
</tr>
</tbody>
</table>
<p>常用范例：</p>
<p>例一：把 shiyanlou.log 的文件内容加上行号后显示，空行不加行号，可以使用如下命令：</p>
<pre><code>nl -b t shiyanlou.log
</code></pre><p>例二：把 shiyanlou.log 的文件内容加上行号后显示，行号分别在屏幕最左方、最右方不加 0 和最右方加 0 显示，可以使用如下命令：</p>
<pre><code>nl -n ln shiyanlou.log
nl -n rn shiyanlou.log
nl -n rz shiyanlou.log
</code></pre><p>例三：把 shiyanlou.log 的文件内容加上行号后显示，行号在屏幕最右方加 0 显示，行号栏目占位数为 3，可以使用如下命令：</p>
<pre><code>nl -n rz -w 3 shiyanlou.log
</code></pre><h1 id="more-命令"><a href="#more-命令" class="headerlink" title="more 命令"></a>more 命令</h1><p>more 命令，功能类似 cat ，cat 命令是将整个文件的内容从上到下显示在屏幕上。 more 命令会一页一页的显示，方便使用者逐页阅读，而最基本的指令就是按空白键（space）往下一页显示，按 b 键就会往回（back）一页显示，而且还有搜寻字串的功能 。more 命令从前向后读取文件，因此在启动时就加载整个文件。</p>
<h2 id="命令格式：-1"><a href="#命令格式：-1" class="headerlink" title="命令格式："></a>命令格式：</h2><p>more [选项] 文件</p>
<h2 id="常用参数：-1"><a href="#常用参数：-1" class="headerlink" title="常用参数："></a>常用参数：</h2><p>|参数    |描述|<br>|+n|    从笫 n 行开始显示|<br>| —— |:——:|<br>|-n    |定义屏幕大小为 n 行|<br>|+/pattern|    在每个档案显示前搜寻该字串（pattern），然后从该字串前两行之后开始显示|<br>|-c    |从顶部清屏，然后显示|<br>|-d    |提示“Press space to continue，’q’ to quit”，禁用响铃功能|<br>|-p    |通过清除窗口而不是滚屏来对文件进行换页，与-c 选项相似|<br>|-s    |把连续的多个空行显示为一行|<br>|-u    |把文件内容中的下画线去掉|</p>
<h2 id="常用操作："><a href="#常用操作：" class="headerlink" title="常用操作："></a>常用操作：</h2><table>
<thead>
<tr>
<th>符号</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>=</td>
<td style="text-align:center">输出当前行的行号</td>
</tr>
<tr>
<td>q</td>
<td style="text-align:center">退出 more</td>
</tr>
<tr>
<td>空格键</td>
<td style="text-align:center">向下滚动一屏</td>
</tr>
<tr>
<td>b</td>
<td style="text-align:center">返回上一屏</td>
</tr>
</tbody>
</table>
<h2 id="常用范例："><a href="#常用范例：" class="headerlink" title="常用范例："></a>常用范例：</h2><p>下面示例中用到的 shiyanlou.log 文件内容如下：</p>
<p>例一：从第五行开始显示 shiyanlou.log 文件中的内容，可以使用如下命令：</p>
<pre><code>more +5 shiyanlou.log
</code></pre><p>例二：从 shiyanlou.log 文件中查找第一个出现”g”字符串的行，并从该处前两行开始显示输出，可以使用如下命令：</p>
<pre><code>more +/g shiyanlou.log
</code></pre><p>例三：设定每屏行数为 5，可以使用如下命令：</p>
<pre><code>more -5 shiyanlou.log
</code></pre><p>例四：使用 ll 和 more 命令显示/etc 目录信息，可以使用如下命令：</p>
<pre><code>ll /etc | more -10
</code></pre><p>每页显示 10 个文件信息，按 Ctrl+F 或者 空格键 将会显示下 10 条文件信息。</p>
<h1 id="less-命令"><a href="#less-命令" class="headerlink" title="less 命令"></a>less 命令</h1><blockquote>
<p>less 工具也是对文件或其它输出进行分页显示的工具，应该说是 linux 正统查看文件内容的工具，功能极其强大。</p>
</blockquote>
<h2 id="命令格式：-2"><a href="#命令格式：-2" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>less [选项] 文件
</code></pre><h2 id="常用参数：-2"><a href="#常用参数：-2" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-e</td>
<td style="text-align:center">当文件显示结束后，自动离开</td>
</tr>
<tr>
<td>-f</td>
<td style="text-align:center">强迫打开特殊文件，例如外围设备代号、目录和二进制文件</td>
</tr>
<tr>
<td>-i</td>
<td style="text-align:center">忽略搜索时的大小写</td>
</tr>
<tr>
<td>-m</td>
<td style="text-align:center">显示类似 more 命令的百分比</td>
</tr>
<tr>
<td>-N</td>
<td style="text-align:center">显示每行的行号</td>
</tr>
<tr>
<td>-s</td>
<td style="text-align:center">显示连续空行为一行</td>
</tr>
</tbody>
</table>
<h2 id="常用操作：-1"><a href="#常用操作：-1" class="headerlink" title="常用操作："></a>常用操作：</h2><table>
<thead>
<tr>
<th>符号</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>/字符串</td>
<td style="text-align:center">向下搜索“字符串”的功能</td>
</tr>
<tr>
<td>?字符串</td>
<td style="text-align:center">向上搜索“字符串”的功能</td>
</tr>
<tr>
<td>n</td>
<td style="text-align:center">重复前一个搜索（与 / 或 ? 有关）</td>
</tr>
<tr>
<td>N</td>
<td style="text-align:center">反向重复前一个搜索（与 / 或 ? 有关）</td>
</tr>
<tr>
<td>b</td>
<td style="text-align:center">向前翻一页</td>
</tr>
<tr>
<td>d</td>
<td style="text-align:center">向后翻半页</td>
</tr>
<tr>
<td>q</td>
<td style="text-align:center">退出 less 命令</td>
</tr>
<tr>
<td>空格键</td>
<td style="text-align:center">向后翻一页</td>
</tr>
<tr>
<td>向上键</td>
<td style="text-align:center">向上翻动一行</td>
</tr>
<tr>
<td>向下键</td>
<td style="text-align:center">向下翻动一行</td>
</tr>
</tbody>
</table>
<h2 id="常用范例：-1"><a href="#常用范例：-1" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：显示 shiyanlou.log 文件中的内容，并显示行号，可以使用如下命令：</p>
<pre><code>less -N shiyanlou.log
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/linux35.png" alt=""></p>
<p>例二：显示 shiyanlou.log 文件中的内容，搜索字符串”shiyanlou”，可以使用如下命令：</p>
<pre><code>less  shiyanlou.log
/shiyanlou
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/linux226.png" alt=""><br><img src="https://dn-anything-about-doc.qbox.me/linux37.png" alt=""></p>
<p>例三：ps 查看进程信息并通过 less 分页显示 ，可以使用如下命令：</p>
<pre><code>ps -f | less
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/linux38.png" alt=""></p>
<h1 id="less-与-cat-和-more-的区别："><a href="#less-与-cat-和-more-的区别：" class="headerlink" title="less 与 cat 和 more 的区别："></a>less 与 cat 和 more 的区别：</h1><p>cat 命令功能用于显示整个文件的内容，单独使用没有翻页功能。因此经常和 more 命令搭配使用，cat 命令还有就是可以将数个文件合并成一个文件的功能。 more 命令功能：让画面在显示满一页时暂停，此时可按空格健继续显示下一个画面，或按 q 键停止显示。</p>
<p>less 命令功能：less 命令的用法与 more 命令类似，也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外，还可以利用上下键来卷动文件。当要结束浏览时，只要在 less 命令的提示符“：”下按 q 键即可。 其实这三个命令除了 cat 命令有合并文件的功能，其余功能上相近，只是从浏览习惯和显示方式上有所不同。</p>
<h1 id="head-命令"><a href="#head-命令" class="headerlink" title="head 命令"></a>head 命令</h1><p>head 命令就像它的名字一样浅显易懂，主要是用来显示档案的开头至标准输出中，默认 head 命令打印其相应文件的开头 10 行。</p>
<h2 id="命令格式：-3"><a href="#命令格式：-3" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>head [选项] [文件]
</code></pre><h2 id="常用参数：-3"><a href="#常用参数：-3" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-q</td>
<td style="text-align:center">隐藏文件名</td>
</tr>
<tr>
<td>-v</td>
<td style="text-align:center">显示文件名</td>
</tr>
<tr>
<td>-c&lt;字节&gt;</td>
<td style="text-align:center">显示字节数</td>
</tr>
<tr>
<td>-n&lt;行数&gt;</td>
<td style="text-align:center">显示的行数</td>
</tr>
</tbody>
</table>
<h2 id="常用范例：-2"><a href="#常用范例：-2" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：显示 shiyanlou.log 文件中的前 5 行内容，可以使用如下命令： head -n 5 shiyanlou.log </p>
<p>例二：显示 shiyanlou.log 和 zhou.log 文件中的前 5 行内容，可以使用如下命令： head -n 5 shiyanlou.log zhou.log </p>
<p>例三：显示 shiyanlou.log 文件中除了最后 5 行的内容，可以使用如下命令： head -n -5 shiyanlou.log </p>
<h1 id="tail-命令"><a href="#tail-命令" class="headerlink" title="tail 命令"></a>tail 命令</h1><p>tail 命令主要用于显示指定文件末尾内容。常用查看日志文件。</p>
<h2 id="命令格式：-4"><a href="#命令格式：-4" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>tail [选项] [文件]
</code></pre><h2 id="常用参数：-4"><a href="#常用参数：-4" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-f</td>
<td style="text-align:center">循环读取</td>
</tr>
<tr>
<td>-q</td>
<td style="text-align:center">不显示处理信息</td>
</tr>
<tr>
<td>-v</td>
<td style="text-align:center">显示详细的处理信息</td>
</tr>
<tr>
<td>-c&lt;字节&gt;</td>
<td style="text-align:center">显示的字节数</td>
</tr>
<tr>
<td>-n&lt;行数&gt;</td>
<td style="text-align:center">显示行数</td>
</tr>
</tbody>
</table>
<h2 id="常用范例：-3"><a href="#常用范例：-3" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：显示 shiyanlou.log 文件中的最后 5 行内容，可以使用如下命令：</p>
<pre><code>tail -n 5 shiyanlou.log
</code></pre><p>例二：显示 shiyanlou.log 文件中的最后 5 行内容，当 shiyanlou.log 文件有新内容增加，自动更新显示。可以使用如下命令：</p>
<pre><code>tail -n 5 -f shiyanlou.log
</code></pre><p>ping www.shiyanlou.com &gt;&gt; shiyanlou.log 这条命令作用是，ping 远程主机，并将信息追加到 shyanlou.log 文件中。&amp; 的作用是将这条命令放在后台执行，这样 shiyanlou.log 文件就会一直有内容增加。说明一下，linux 下执行 ping 命令会一直执行，必须手动停止才行。而 windows 下执行 ping 命令时，发送一定请求后会自动停止。<br><img src="https://dn-anything-about-doc.qbox.me/linux52.png" alt=""><br>使用 tail 命令的-f 选项可以即时输出文件变化后追加的内容，tail -f filename 会把 filename 里最尾部的内容显示在屏幕上，并且不但刷新，使你看到最新的文件内容。 另外顺便说一下怎么查看后台正在运行的任务，及怎么停止任务。 jobs 命令可以查看正在后台运行的任务。kill 命令可以杀死一个任务，但要使用任务的 id。任务的 id 可以通过 ps 命令查看获得。具体操作如下图（不熟悉这些命令没关系，后续都会讲到）<br><img src="https://dn-anything-about-doc.qbox.me/linux52.png" alt=""></p>
<h1 id="which-命令"><a href="#which-命令" class="headerlink" title="which 命令"></a>which 命令</h1><p>which 命令的作用是，在 PATH 变量指定的路径中搜索可执行文件的所在位置。它一般用来确认系统中是否安装了指定的软件。</p>
<h2 id="命令格式：-5"><a href="#命令格式：-5" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>which 可执行文件名称
</code></pre><h2 id="常用范例：-4"><a href="#常用范例：-4" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：确认是否安装了 gcc，可以使用如下命令：</p>
<pre><code>which gcc
</code></pre><p>例二：查看 cd 命令的位置路径，可以使用如下命令：</p>
<pre><code>which cd
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/linuxcommand/which2.png" alt=""></p>
<p>从上面的显示信息可以看到在实验楼的系统中 cd 是一个 shell 函数。</p>
<p>再来在我本地 linux 系统上执行 which cd 命令，显示的结果如下：</p>
<p><img src="https://dn-anything-about-doc.qbox.me/linuxcommand/which3.png" alt=""></p>
<p>显示在 PATH 变量指定的路径下没有 cd 命令。为什么显示没有呢？这是因为 cd 是 shell 内建命令，而 which 默认是找 PATH 内所指定的目录，内建命令不在其指定的目录中，所以当然一定找不到。</p>
<p>那么就有个问题，为什么实验楼环境中 cd 是一个 shell 函数，而其他 linux 环境中 cd 是内建命令呢？这跟所使用的 bash 有关。<br><img src="https://dn-anything-about-doc.qbox.me/linuxcommand/which4.png" alt=""><br><img src="https://dn-anything-about-doc.qbox.me/linuxcommand/which5.png" alt=""></p>
<p>echo $SHELL 命令查看当前使用的 shell。</p>
<p>补充知识</p>
<p>到底什么是命令？</p>
<p>命令可以是下面四种形式之一：</p>
<p>是一个可执行程序，就像我们所看到的位于目录/usr/bin 中的文件一样。 属于这一类的程序，可以编译成二进制文件，诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写成的程序，比如说 shell，perl，python，ruby，等等。</p>
<p>是一个内建于 shell 自身的命令。bash 支持若干命令，内部叫做 shell 内部命令 (builtins)。例如，上面我本地环境中的 cd 命令，就是一个 shell 内部命令。</p>
<p>是一个 shell 函数。这些是小规模的 shell 脚本，它们混合到环境变量中。 比如上面讲到的 cd 命令，在实验楼环境中就是一个 shell 函数。</p>
<p>是一个命令别名。我们可以定义自己的命令，建立在其它命令之上。</p>
<h1 id="whereis-命令"><a href="#whereis-命令" class="headerlink" title="whereis 命令"></a>whereis 命令</h1><p>whereis 命令主要用于定位可执行文件、源代码文件、帮助文件在文件系统中的位置。whereis 命令还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。</p>
<p>whereis 命令查找速度非常快，这是因为它根本不是在磁盘中漫无目的乱找，而是在一个数据库中（/var/lib/mlocate/）查询。这个数据库是 Linux 系统自动创建的，包含有本地所有文件的信息，并且每天通过自动执行 updatedb 命令更新一次。也正是因为这个数据库要每天才更新一次，就会使得 whereis 命令的搜索结果有时候会不准确，比如刚添加的文件可能搜不到。</p>
<h2 id="命令格式：-6"><a href="#命令格式：-6" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>whereis [选项] 文件
</code></pre><h2 id="常用参数：-5"><a href="#常用参数：-5" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>- -b</td>
<td style="text-align:center">定位可执行文件</td>
</tr>
<tr>
<td>- -m</td>
<td style="text-align:center">定位帮助文件</td>
</tr>
<tr>
<td>- -s</td>
<td style="text-align:center">定位源代码文件</td>
</tr>
<tr>
<td>-u</td>
<td style="text-align:center">搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件</td>
</tr>
<tr>
<td>-B</td>
<td style="text-align:center">指定搜索可执行文件的路径</td>
</tr>
<tr>
<td>-M</td>
<td style="text-align:center">指定搜索帮助文件的路径</td>
</tr>
<tr>
<td>-S</td>
<td style="text-align:center">指定搜索源代码文件的路径</td>
</tr>
</tbody>
</table>
<h2 id="常用范例：-5"><a href="#常用范例：-5" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：搜索 gcc 可执行文件的路径，可以使用如下命令：</p>
<pre><code>whereis -b gcc
</code></pre><p>例二：搜索 gcc 帮助文件的路径，可以使用如下命令：</p>
<pre><code>whereis -m gcc
</code></pre><p>例三：搜索 gcc 源代码的路径，可以使用如下命令：</p>
<pre><code>whereis -s gcc
</code></pre><h1 id="locate-命令"><a href="#locate-命令" class="headerlink" title="locate 命令"></a>locate 命令</h1><p>locate 命令跟 whereis 命令类似，且它们使用的是相同的数据库。但 whereis 命令只能搜索可执行文件、联机帮助文件盒源代码文件，如果要获得更全面的搜索结果，可以使用 locate 命令。</p>
<p>locate 命令使用了十分复杂的匹配语法，可以使用特殊字元（如’*’和’?’）来指定需要查找的样本。</p>
<h2 id="命令格式：-7"><a href="#命令格式：-7" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>locate [选项] [搜索字符串]
</code></pre><h2 id="常用参数：-6"><a href="#常用参数：-6" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-q</td>
<td style="text-align:center">安静模式，不会显示任何错误讯息</td>
</tr>
<tr>
<td>-n</td>
<td style="text-align:center">至多显示 n 个输出</td>
</tr>
<tr>
<td>-r</td>
<td style="text-align:center">使用正规表达式做寻找的条件</td>
</tr>
<tr>
<td>-V</td>
<td style="text-align:center">显示版本讯息</td>
</tr>
</tbody>
</table>
<h2 id="常用范例：-6"><a href="#常用范例：-6" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：搜索 etc 目录下所有以 sh 开头的文件，可以使用如下命令：</p>
<pre><code>locate /etc/sh
</code></pre><p>注意在实验楼环境中一开始执行这个命令会报错：locate 无法执行 stat() ‘/var/lib/mlocate/mlocate.db’：没有那个文件或目录。解决办法是执行sudo updatedb命令。</p>
<p>例二：搜索 etc 目录下文件名包含 lou 的文件，可以使用如下命令：</p>
<pre><code>locate /etc/*lou*
</code></pre><h1 id="find-命令（一）"><a href="#find-命令（一）" class="headerlink" title="find 命令（一）"></a>find 命令（一）</h1><p>find 命令主要作用是沿着文件层次结构向下遍历，匹配符合条件的文件，并执行相应的操作。Linux 下 find 命令提供了相当多的查找条件，功能很强大，对应的学习难度也比较大。</p>
<h2 id="命令格式：-8"><a href="#命令格式：-8" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>find [选项] [搜索路径] [表达式]
</code></pre><p>默认路径是当前目录，默认表达式为-print。</p>
<p>表达式可能由下列成份组成：操作符、选项、测试表达式以及动作。</p>
<h2 id="常用参数：-7"><a href="#常用参数：-7" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-print</td>
<td style="text-align:center">find 命令将匹配的文件输出到标准输出</td>
</tr>
<tr>
<td>-exec</td>
<td style="text-align:center">find 命令对匹配的文件执行该参数所给出的 shell 命令</td>
</tr>
<tr>
<td>-name</td>
<td style="text-align:center">按照文件名查找文件</td>
</tr>
<tr>
<td>-type</td>
<td style="text-align:center">查找某一类型的文件</td>
</tr>
<tr>
<td>-prune</td>
<td style="text-align:center">使用这一选项可以使 find 命令不在当前指定的目录中查找，如果同 时使用-depth 选项，那么-prune 将被 find 命令忽略</td>
</tr>
<tr>
<td>-user</td>
<td style="text-align:center">按照文件属主来查找文件</td>
</tr>
<tr>
<td>-group</td>
<td style="text-align:center">按照文件所属的组来查找文件</td>
</tr>
<tr>
<td>-mtime -n +n</td>
<td style="text-align:center">按照文件的更改时间来查找文件，-n 表示文件更改时间距现在小于 n天，+n 表示文件更改时间距现在大于 n 天，find 命令还有-atime 和 -ctime 选项</td>
</tr>
</tbody>
</table>
<p>其他命令命令选项及表达式可参见下图。<br><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485012419" alt=""></p>
<h2 id="常用范例：-7"><a href="#常用范例：-7" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：打印当前目录下的文件目录列表 ，可以使用如下命令：</p>
<pre><code>find  .  -print
</code></pre><p>例二：打印当前目录下所有以.txt 结尾的文件名 ，可以使用如下命令（截图只显示部分）：</p>
<pre><code>find  .  -name “*.txt” -print
</code></pre><p>me 选项跟-name 选项作用一样，不同在于-iname 会忽略字母大小写。</p>
<p>例三：打印当前目录下所有以.txt 或.pdf 结尾的文件名 ，可以使用如下命令（截图只显示部分）：</p>
<pre><code>find  .  \(-name “*.pdf” -or -name “*.txt”\)
</code></pre><p>例四：打印当前目录下所有不以.txt 结尾的文件名 ，可以使用如下命令：</p>
<pre><code>find  .  ! -name “*.txt”
</code></pre><h1 id="find-命令（二）"><a href="#find-命令（二）" class="headerlink" title="find 命令（二）"></a>find 命令（二）</h1><p>下面将介绍如何根据文件类型、权限、所有者及操作符来查找匹配文件。</p>
<p>根据文件类型来查找文件，使用-type 选项，常见 find 文件类型见下表。</p>
<p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485465186" alt=""></p>
<p>根据文件权限查找文件，使用-perm 选项。所有者使用-user 选项。</p>
<p>另外，find 命令可以通过逻辑操作符来创建更复杂的逻辑关系，例如 find 命令（一）中的例三就使用了操作符-or。find 命令的逻辑操作符见下表。<br><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485513603" alt=""></p>
<h2 id="常用范例：-8"><a href="#常用范例：-8" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：打印当前目录下所有以.txt 结尾的符号链接 ，可以使用如下命令：</p>
<pre><code>find  .  -type l -name “*.txt” -print
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485577965" alt=""></p>
<p>例二：打印当前目录下所有权限为 777 的 php 文件（web 服务器上的 php 文件一般需要执行权限），可以使用如下命令：</p>
<pre><code>find  .  -type f -name “*.php” -perm 777
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485634144" alt=""></p>
<p>例三：打印当前目录下 root 用户拥有的所有文件，可以使用如下命令：</p>
<pre><code>find  .  -type f -user root
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485682625" alt=""><br>例四：打印当前目录下权限不是 777 和 664 的所有文件，可以使用如下命令：</p>
<pre><code>find  .  -type f  \( ! -perm 777  -and  ! -perm 644 \)
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485725524" alt=""></p>
<h1 id="find-命令（三）"><a href="#find-命令（三）" class="headerlink" title="find 命令（三）"></a>find 命令（三）</h1><p>下面将介绍如何使用 find 命令的-exec 选项来实现对查找到的文件执行指定的动作命令。</p>
<h2 id="常用范例：-9"><a href="#常用范例：-9" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：找到当前目录下所有 php 文件，并显示其详细信息，可以使用如下命令：</p>
<pre><code>find . -name “*.php” -exec ls -l {} \;
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485834752" alt=""><br>-exec 是 find 命令对找到的文件执行的动作，这个动作就是对找到的文件执行命令，上面的命令就是 ls -l {}。在这里说明一下{}和\;，{}其实它就是一个占位符，在 find 命令的执行过程中会不断地替换成当前找到的文件，相当于”ls -l 找到的文件”。而\;是-exec 的命令结束标记，因为规定-exec 后面的命令必须以;结束，但;在 shell 中有特殊含义，必须要转义，所以写成\;。</p>
<p>例二：在实验楼环境中有很多自己编写的 c 语言代码文件，现在想要把所有 c 语言代码文件下载下来，如果一个一个的下载很麻烦，我们可以先查找到所有的 c 语言代码文件，然后将这些文件内容写入到一个文件中，下载该文件，可以使用如下命令：</p>
<pre><code>find . -name “*.c” -exec cat {} \; &gt; all.c
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419485908149" alt=""><br>例三：默认下，-exec 后面只能使用单个命令，如果想要多个命令，可以将多个命令写入脚本文件中，然后在-exec 中使用这个脚本，可以使用如下命令：</p>
<pre><code>find . -name “*.c” -exec ./command.sh {} \;
</code></pre><p>脚本内容：</p>
<pre><code>#！ /bin/bash
ls -l $1       # $1 表示第一个参数
cat $1
img
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486194690" alt=""></p>
<h1 id="xargs-命令"><a href="#xargs-命令" class="headerlink" title="xargs 命令"></a>xargs 命令</h1><p>我们可以用管道将一个命令的 stdout（标准输出）重定向到另一个命令的 stdin（标准输入）。但有些命令只能以命令行参数的形式接收数据，而无法通过 stdin 接收数据流。在这种情况下，无法通过管道将数据重定向给这些命令。</p>
<p>这时 xargs 就可以发挥它的作用了，xargs 命令可以从标准输入接收输入，并把输入转换为一个特定的参数列表。</p>
<h2 id="命令格式：-9"><a href="#命令格式：-9" class="headerlink" title="命令格式："></a>命令格式：</h2><pre><code>command | xargs [选项] [command]
</code></pre><p>xargs 命令应该紧跟在管道操作符之后，因为它以标准输入作为主要的源数据流。</p>
<h2 id="常用参数：-8"><a href="#常用参数：-8" class="headerlink" title="常用参数："></a>常用参数：</h2><table>
<thead>
<tr>
<th>参数</th>
<th style="text-align:center">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>-n</td>
<td style="text-align:center">指定每行最大的参数数量</td>
</tr>
<tr>
<td>-d</td>
<td style="text-align:center">指定分隔符</td>
</tr>
</tbody>
</table>
<h2 id="常用范例：-10"><a href="#常用范例：-10" class="headerlink" title="常用范例："></a>常用范例：</h2><p>例一：将多行输入转换为单行输出，可以使用如下命令：</p>
<pre><code>cat a.txt | xargs
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486436814" alt=""></p>
<p>例二：将单行输入转换为多行输出，可以使用如下命令：</p>
<pre><code>echo “1 2 3 4 5 6 7” | xargs -n 3
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486477811" alt=""></p>
<p>例三：将单行输入转换为多行输出，指定分隔符为 i，可以使用如下命令：</p>
<pre><code>cat b.txt | xargs -d i -n 3
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486635856" alt=""></p>
<p>例四：查找当前目录下所有 c 代码文件，统计总行数，可以使用如下命令：</p>
<pre><code>find . -type f -name “*.c” | xargs wc -l
</code></pre><p><img src="https://dn-anything-about-doc.qbox.me/userid3372labid348time1419486674638" alt=""></p>

      
    </div>
    
  </div>
  
    
    <div class="copyright">
        <p><span>本文标题:</span><a href="/2015/08/25/linux学习笔记/">linux学习笔记</a></p>
        <p><span>文章作者:</span><a href="/" title="回到主页">Bingo</a></p>
        <p><span>发布时间:</span>2015-08-25, 22:25:34</p>
        <p><span>最后更新:</span>2015-11-28, 16:46:21</p>
        <p>
            <span>原始链接:</span><a class="post-url" href="/2015/08/25/linux学习笔记/" title="linux学习笔记">http://blog.acbingo.cn/2015/08/25/linux学习笔记/</a>
            <span class="copy-path" data-clipboard-text="原文: http://blog.acbingo.cn/2015/08/25/linux学习笔记/　　作者: Bingo" title="点击复制文章链接"><i class="fa fa-clipboard"></i></span>
            <script> var clipboard = new Clipboard('.copy-path'); </script>
        </p>
        <p>
            <span>许可协议:</span><i class="fa fa-creative-commons"></i> <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/" title="CC BY-NC-SA 4.0 International" target = "_blank">"署名-非商用-相同方式共享 4.0"</a> 转载请保留原文链接及作者。
        </p>
    </div>



    <nav id="article-nav">
        
            <div id="article-nav-newer" class="article-nav-title">
                <a href="/2015/08/27/vim的持久撤销功能/">
                    vim的持久撤销功能
                </a>
            </div>
        
        
            <div id="article-nav-older" class="article-nav-title">
                <a href="/2015/08/18/线段树学习笔记-7-hdu1698/">
                    线段树学习笔记-7-hdu1698
                </a>
            </div>
        
    </nav>

  
</article>

    <div id="toc" class="toc-article">
        <strong class="toc-title">文章目录</strong>
        
            <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#mkdir命令"><span class="toc-number">1.</span> <span class="toc-text">mkdir命令</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#rm命令"><span class="toc-number">2.</span> <span class="toc-text">rm命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#思考"><span class="toc-number">2.1.</span> <span class="toc-text">思考</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#mv命令"><span class="toc-number">3.</span> <span class="toc-text">mv命令</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#cp命令"><span class="toc-number">4.</span> <span class="toc-text">cp命令</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#cat-命令"><span class="toc-number">5.</span> <span class="toc-text">cat 命令</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#nl-命令"><span class="toc-number">6.</span> <span class="toc-text">nl 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式："><span class="toc-number">6.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数："><span class="toc-number">6.2.</span> <span class="toc-text">常用参数：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#more-命令"><span class="toc-number">7.</span> <span class="toc-text">more 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-1"><span class="toc-number">7.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-1"><span class="toc-number">7.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用操作："><span class="toc-number">7.3.</span> <span class="toc-text">常用操作：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例："><span class="toc-number">7.4.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#less-命令"><span class="toc-number">8.</span> <span class="toc-text">less 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-2"><span class="toc-number">8.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-2"><span class="toc-number">8.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用操作：-1"><span class="toc-number">8.3.</span> <span class="toc-text">常用操作：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-1"><span class="toc-number">8.4.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#less-与-cat-和-more-的区别："><span class="toc-number">9.</span> <span class="toc-text">less 与 cat 和 more 的区别：</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#head-命令"><span class="toc-number">10.</span> <span class="toc-text">head 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-3"><span class="toc-number">10.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-3"><span class="toc-number">10.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-2"><span class="toc-number">10.3.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#tail-命令"><span class="toc-number">11.</span> <span class="toc-text">tail 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-4"><span class="toc-number">11.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-4"><span class="toc-number">11.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-3"><span class="toc-number">11.3.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#which-命令"><span class="toc-number">12.</span> <span class="toc-text">which 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-5"><span class="toc-number">12.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-4"><span class="toc-number">12.2.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#whereis-命令"><span class="toc-number">13.</span> <span class="toc-text">whereis 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-6"><span class="toc-number">13.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-5"><span class="toc-number">13.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-5"><span class="toc-number">13.3.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#locate-命令"><span class="toc-number">14.</span> <span class="toc-text">locate 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-7"><span class="toc-number">14.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-6"><span class="toc-number">14.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-6"><span class="toc-number">14.3.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#find-命令（一）"><span class="toc-number">15.</span> <span class="toc-text">find 命令（一）</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-8"><span class="toc-number">15.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-7"><span class="toc-number">15.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-7"><span class="toc-number">15.3.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#find-命令（二）"><span class="toc-number">16.</span> <span class="toc-text">find 命令（二）</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-8"><span class="toc-number">16.1.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#find-命令（三）"><span class="toc-number">17.</span> <span class="toc-text">find 命令（三）</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-9"><span class="toc-number">17.1.</span> <span class="toc-text">常用范例：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#xargs-命令"><span class="toc-number">18.</span> <span class="toc-text">xargs 命令</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#命令格式：-9"><span class="toc-number">18.1.</span> <span class="toc-text">命令格式：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用参数：-8"><span class="toc-number">18.2.</span> <span class="toc-text">常用参数：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#常用范例：-10"><span class="toc-number">18.3.</span> <span class="toc-text">常用范例：</span></a></li></ol></li></ol>
        
    </div>
    <style>
        .left-col .switch-btn,
        .left-col .switch-area {
            display: none;
        }
        .toc-level-3 i,
        .toc-level-3 ol {
            display: none !important;
        }
    </style>

    <input type="button" id="tocButton" value="隐藏目录"  title="点击按钮隐藏或者显示文章目录">

    <script>
        yiliaConfig.toc = ["隐藏目录", "显示目录", !!"false"];
    </script>



    
<div class="share">
    
        <div class="bdsharebuttonbox">
            <a href="#" class="fa fa-twitter bds_twi" data-cmd="twi" title="分享到推特"></a>
            <a href="#" class="fa fa-weibo bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
            <a href="#" class="fa fa-qq bds_sqq" data-cmd="sqq" title="分享给 QQ 好友"></a>
            <a href="#" class="fa fa-files-o bds_copy" data-cmd="copy" title="复制网址"></a>
            <a href="#" class="fa fa fa-envelope-o bds_mail" data-cmd="mail" title="通过邮件分享"></a>
            <a href="#" class="fa fa-weixin bds_weixin" data-cmd="weixin" title="生成文章二维码"></a>
            <a href="#" class="fa fa-share-alt bds_more" data-cmd="more"></i></a>
        </div>
        <script>
            window._bd_share_config={
                "common":{"bdSnsKey":{},"bdText":"linux学习笔记　| Bingo's Blog　","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
        </script>
    

    
</div>







    
      <div class="duoshuo" id="comments">
    <div id="comment-box" ></div>
    <div class="ds-thread" id="ds-thread" data-thread-key="2015/08/25/linux学习笔记/" data-title="linux学习笔记" data-url="http://blog.acbingo.cn/2015/08/25/linux学习笔记/"></div>
    <script>
        var duoshuoQuery = {short_name:"acbingo"};
        var loadComment = function(){
            var d = document, s = d.createElement('script');
            s.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
            s.async = true; s.charset = 'UTF-8';
            (d.head || d.body).appendChild(s);
        }

        
    </script>
    
    <script> loadComment(); </script>

</div>
    




    <div class="scroll" id="post-nav-button">
        
            <a href="/2015/08/27/vim的持久撤销功能/" title="上一篇: vim的持久撤销功能">
                <i class="fa fa-angle-left"></i>
            </a>
        

        <a title="文章列表"><i class="fa fa-bars"></i><i class="fa fa-times"></i></a>

        
            <a href="/2015/08/18/线段树学习笔记-7-hdu1698/" title="下一篇: 线段树学习笔记-7-hdu1698">
                <i class="fa fa-angle-right"></i>
            </a>
        
    </div>

    <ul class="post-list"><li class="post-list-item"><a class="post-list-link" href="/2016/08/07/c++初始化列表/">c++初始化列表</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/08/05/一步一步学习红黑树-2/">一步一步学习红黑树-2</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/08/04/一步一步学习红黑树/">一步一步学习红黑树-1</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/08/03/回文解码/">回文解码</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/08/03/C++中虚析构函数的作用/">C++中虚析构函数的作用</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/08/03/const/">const</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/08/03/const与常成员函数/">const与常成员函数</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/31/虚拟继承/">虚拟继承</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/31/函数指针/">函数指针</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/28/记事本/">记事本</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/28/StarFiles/">StarFiles</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/28/酒店管理系统/">酒店管理系统</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/28/飞机大战/">飞机大战</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/27/仿函数/">仿函数/函数对象</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/27/二叉树中和为某一值的路径/">二叉树中和为某一值的路径</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/26/递归实现反转列表/">递归实现反转链表</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/26/快速幂/">快速幂</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/26/bitset的用法/">bitset的用法</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/26/二分查找、归并排序和快速排序/">二分查找、归并排序和快速排序</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/25/重建二叉树/">重建二叉树</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/25/leetcode_5/">LeetCode_5:Longest Palindromic Substring</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/24/leetcode_4/">LeetCode_4:Median of Two Sorted Arrays</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/24/leetcode_3/">LeetCode_3:Longest Substring Without Repeating Characters</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/24/leetcode_2/">LeetCode_2:Add Two Numbers</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/07/24/leetcode_1_Two Sum/">LeetCode_1:Two Sum</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/06/07/Bingo's_ShadowSocks使用说明/">Bingo's_Shadowsocks</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/05/03/如何优雅的开启wifi热点/">如何优雅的开启wifi热点</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/05/02/如何优雅的连接指定wifi热点/">如何优雅的连接指定wifi热点</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/05/02/对AndroidWifi状态广播的研究/">对AndroidWifi状态广播的研究</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/05/01/coursera数据结构_字符串_课后作业/">coursera数据结构_字符串_课后作业</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/05/01/简单几步在Android_Studio上实现二维码的扫描/">简单几步在Android_Studio上实现二维码的生成与扫描</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/04/25/coursera_算法课后习题/">coursera_算法课后习题</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/04/25/coursera_计算机组成学习笔记/">coursera_计算机组成学习笔记</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/04/20/cocos2dx-飞机大战/">cocos2dx-飞机大战</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/04/14/android_ping不通电脑/">android_ping不通电脑</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/04/14/android创建与连接热点/">android创建与连接热点</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/04/01/coursera_算法_递归/">coursera_算法_递归</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/03/30/coursera_操作系统学习笔记/">coursera_操作系统学习笔记_计算机操作系统概述</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/03/29/编译原理_中科大公开课_第一单元编译器介绍作业/">编译原理_中科大公开课_第一单元编译器介绍作业</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/03/25/关于Inflater与findViewById()的思考/">关于Inflater与findViewById()的思考</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/03/11/coursera_魔兽世界终结版/">coursera_魔兽世界终结版</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/03/05/coursera_算法作业_枚举/">coursera_算法作业_枚举</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/27/coursera_c++高级主体和c++11新特性/">coursera_c++高级主体和c++11新特性</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/27/coursera_c++期末考试/">coursera_c++期末考试</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/24/coursera_STL2作业/">coursera_STL2作业</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/21/coursera容器适配器/">coursera容器适配器_算法</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/21/coursera标准模版库STL2/">coursera标准模版库STL2</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/20/coursera编程作业-STL1/">coursera编程作业-STL1</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/20/coursera疑问/">coursera疑问</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/19/coursera学习笔记-函数对象/">coursera学习笔记-函数对象</a></li><li class="post-list-item"><a class="post-list-link" href="/2016/01/19/coursera学习笔记-顺序容器Vector/">coursera学习笔记-顺序容器Vector、List和Deque</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/12/05/算法学习笔记-14-最长公共子序列/">算法学习笔记-14-最长公共子序列</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/12/03/算法学习笔记-13-矩阵连乘问题/">算法学习笔记-13-矩阵连乘问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/12/01/算法学习笔记-12-循环赛日程表/">算法学习笔记-12-循环赛日程表</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/12/01/算法学习笔记-11-最接近点对问题/">算法学习笔记-11-最接近点对问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/12/01/算法学习笔记-10-线性时间选择/">算法学习笔记-10-线性时间选择</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/27/算法学习笔记-9-快速排序/">算法学习笔记-9-快速排序</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/26/算法学习笔记-8-合并排序/">算法学习笔记-8-归并排序</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/24/算法学习笔记-7-棋盘覆盖问题/">算法学习笔记-7-棋盘覆盖问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/22/算法学习笔记-6-Strassen矩阵乘法/">算法学习笔记-6-Strassen矩阵乘法</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/21/算法学习笔记-5-Hanoi塔问题/">算法学习笔记-5-Hanoi塔问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/20/算法学习笔记-4-整数划分问题/">算法学习笔记-4-整数划分问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/19/算法学习笔记-3-排列问题/">算法学习笔记-3-排列问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/18/算法学习笔记-2-递归的概念/">算法学习笔记-2-递归的概念</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/17/coursera_标准模板库STL/">coursera_标准模板库STL</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/17/算法学习笔记-0-序/">算法学习笔记-0-序</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/17/算法学习笔记-1-NP完全性理论/">算法学习笔记-1-NP完全性理论</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/14/文件操作和模板_编程作业/">文件操作和模板_编程作业</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/11/ubuntu下安装最新的nodejs(v4.2.2)/">ubuntu下安装最新的nodejs(v4.2.2)</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/11/ubuntu14.04的环境变量/">ubuntu14.04的环境变量</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/11/01/coursera学习笔记_文件操作和模板/">coursera学习笔记_文件操作和模板</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/10/31/coursera学习笔记_多态和虚函数/">coursera学习笔记_多态和虚函数</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/10/28/Coursera_程序设计与晋级_继承与派生_编程作业/">Coursera_程序设计与晋级_继承与派生_编程作业</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/10/22/科大OJ-数据结构-DNA序列/">科大OJ-数据结构-DNA序列</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/10/20/科大OJ-数据结构-求表达式串的后缀表达式和值/">科大OJ-数据结构-求表达式串的后缀表达式和值</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/10/01/科大OJ-数据结构-击鼓传花/">科大OJ-数据结构-击鼓传花</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/30/科大OJ-数据结构-求集合的交并补集/">科大OJ-数据结构-求集合的交并补集</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/27/hexo无法本地访问/">hexo无法本地访问</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/26/继承与派生/">coursera学习笔记_继承与派生</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/26/大数类模板/">大数类模板</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/15/vimium学习笔记/">vimium学习笔记</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/04/程序员矩阵/">程序员矩阵</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/03/coursera学习笔记_运算符重载/">coursera学习笔记_运算符重载</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/09/01/写hexo博客、markdown文章时图床的挑选/">写hexo博客、markdown文章时图床的挑选</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/31/coursera学习笔记-c++程序设计/">coursera学习笔记-c++程序设计</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/29/Linux下C语言应用编程学习笔记/">Linux下C语言应用编程学习笔记</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/28/linux学习笔记2/">linux学习笔记2</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/27/Bingo's exVim/">Bingo的VIM</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/27/linux下去掉^M的方法/">linux下去掉^M的方法</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/27/vim的持久撤销功能/">vim的持久撤销功能</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/25/linux学习笔记/">linux学习笔记</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/18/线段树学习笔记-7-hdu1698/">线段树学习笔记-7-hdu1698</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/18/线段树学习笔记-6-区间更新/">线段树学习笔记-6-区间更新</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/18/Coursera_程序设计与算法_C程序设计进阶/">Coursera_程序设计与算法_C程序设计进阶</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/18/线段树学习笔记-5-hdu2795/">线段树学习笔记-5-hdu2795</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/14/线段树学习笔记-4-hdu1394/">线段树学习笔记-4-hdu1394</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/14/求逆序对的个数/">求逆序对的个数</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/14/线段树学习笔记-3-hdu1754/">线段树学习笔记-3-hdu1754</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/13/线段树学习笔记-2-hdu1166/">线段树学习笔记-2-hdu1166</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/13/线段树学习笔记/">线段树学习笔记-1-入门</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/11/Coursera_程序设计与算法_计算导论与C语言基础_期末编程测试/">Coursera_程序设计与算法_计算导论与C语言基础_期末编程测试</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/10/Coursera_程序设计与算法_C程序设计进阶_C程序中的函数/">Coursera_程序设计与算法_计算导论与C语言基础_数组应用练习</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/10/Coursera_程序设计与算法_计算导论与C语言基础_数组应用练习/">Coursera_程序设计与算法_计算导论与C语言基础_数组应用练习</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/10/hdu4821 String/">hdu4821 String</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/09/Rolling Hash(Rabin-Karp算法)匹配字符串/">Rolling Hash(Rabin-Karp算法)匹配字符串</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/09/设置vim的默认工作路径/">设置vim的默认工作路径</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/08/滑动窗口的单调队列/">滑动窗口的单调队列</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/08/08/ssh -T git@github.com出现Permission denied (publickey)/">ssh -T git@github.com出现Permission denied (publickey)</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/05/29/UVa10791-Minimum-Sum-LCM/">UVa10791-Minimum Sum LCM</a></li><li class="post-list-item"><a class="post-list-link" href="/2015/05/29/uva100/">uva100</a></li></ul>




    <script>
        
    </script>
</div>
      <footer id="footer">
    <div class="outer">
        <div id="footer-info">
            <div class="footer-left">
                <i class="fa fa-copyright"></i> 
                2014-2016 Bingo
            </div>
            <div class="footer-right">
                <a href="http://hexo.io/" target="_blank" title="快速、简洁且高效的博客框架">Hexo</a>  Theme <a href="https://github.com/MOxFIVE/hexo-theme-yelee" target="_blank" title="简而不减 Hexo 双栏博客主题  v3.5">Yelee</a> by MOxFIVE <i class="fa fa-heart animated infinite pulse"></i>
            </div>
        </div>
        
            <div class="visit">
                
                    <span id="busuanzi_container_site_pv" style='display:none'>
                        <span id="site-visit" title="本站到访数"><i class="fa fa-user" aria-hidden="true"></i><span id="busuanzi_value_site_uv"></span>
                        </span>
                    </span>
                
                
                    <span>| </span>
                
                
                    <span id="busuanzi_container_page_pv" style='display:none'>
                        <span id="page-visit"  title="本页阅读量"><i class="fa fa-eye animated infinite pulse" aria-hidden="true"></i><span id="busuanzi_value_page_pv"></span>
                        </span>
                    </span>
                
            </div>
        
    </div>
</footer>
    </div>
    
<script data-main="/js/main.js" src="//cdn.bootcss.com/require.js/2.2.0/require.min.js"></script>





<div class="scroll" id="scroll">
    <a href="#" title="返回顶部"><i class="fa fa-arrow-up"></i></a>
    <a href="#comments" onclick="load$hide();" title="查看评论"><i class="fa fa-comments-o"></i></a>
    <a href="#footer" title="转到底部"><i class="fa fa-arrow-down"></i></a>
</div>
<script>
    // Open in New Window
    
        var oOpenInNew = {
            
            
            
            
            
            
             archives: ".archive-article-title", 
             miniArchives: "a.post-list-link", 
            
             friends: "#js-friends a", 
             socail: ".social a" 
        }
        for (var x in oOpenInNew) {
            $(oOpenInNew[x]).attr("target", "_blank");
        }
    
</script>

<script async src="https://dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js">
</script>
  </div>
</body>
</html>